{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "8533931d",
   "metadata": {},
   "outputs": [],
   "source": [
    "import tushare as ts\n",
    "import talib as ta\n",
    "from matplotlib import pyplot as plt\n",
    "import warnings\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import datetime\n",
    "import talib as ta\n",
    "from dateutil.parser import parse\n",
    "\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "pro = ts.pro_api('0ba8feef618e5db7b1ebb65538fe51e4aef69fb3cbf709d44128f313')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "cb6ff93c",
   "metadata": {},
   "outputs": [],
   "source": [
    "columns = ['ts_code','trade_date','close']\n",
    "df_rb2205 = pro.fut_daily(ts_code='RB2205.SHF', start_date='20210101', end_date='20221113')[columns]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "df82f817",
   "metadata": {},
   "outputs": [],
   "source": [
    "dif , dea, hist = ta.MACD(df_rb2205.close, 12, 26, 9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "6b3ffb33",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_ = pd.DataFrame()\n",
    "df_['dif'] = dif\n",
    "df_['dea'] = dea"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "540365a5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "f842d741",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ts_code</th>\n",
       "      <th>trade_date</th>\n",
       "      <th>close</th>\n",
       "      <th>dif</th>\n",
       "      <th>dea</th>\n",
       "      <th>hist</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>RB2205.SHF</td>\n",
       "      <td>20220427</td>\n",
       "      <td>5061.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>RB2205.SHF</td>\n",
       "      <td>20220426</td>\n",
       "      <td>5027.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>RB2205.SHF</td>\n",
       "      <td>20220425</td>\n",
       "      <td>4989.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>RB2205.SHF</td>\n",
       "      <td>20220422</td>\n",
       "      <td>5121.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>RB2205.SHF</td>\n",
       "      <td>20220421</td>\n",
       "      <td>5154.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>226</th>\n",
       "      <td>RB2205.SHF</td>\n",
       "      <td>20210524</td>\n",
       "      <td>4765.0</td>\n",
       "      <td>-88.380985</td>\n",
       "      <td>-82.650794</td>\n",
       "      <td>-5.730191</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>227</th>\n",
       "      <td>RB2205.SHF</td>\n",
       "      <td>20210521</td>\n",
       "      <td>4892.0</td>\n",
       "      <td>-71.295904</td>\n",
       "      <td>-80.379816</td>\n",
       "      <td>9.083912</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>228</th>\n",
       "      <td>RB2205.SHF</td>\n",
       "      <td>20210520</td>\n",
       "      <td>4950.0</td>\n",
       "      <td>-52.470887</td>\n",
       "      <td>-74.798030</td>\n",
       "      <td>22.327143</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>229</th>\n",
       "      <td>RB2205.SHF</td>\n",
       "      <td>20210519</td>\n",
       "      <td>5085.0</td>\n",
       "      <td>-26.354753</td>\n",
       "      <td>-65.109375</td>\n",
       "      <td>38.754622</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>230</th>\n",
       "      <td>RB2205.SHF</td>\n",
       "      <td>20210518</td>\n",
       "      <td>5333.0</td>\n",
       "      <td>14.190420</td>\n",
       "      <td>-49.249416</td>\n",
       "      <td>63.439836</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>231 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        ts_code trade_date   close        dif        dea       hist\n",
       "0    RB2205.SHF   20220427  5061.0        NaN        NaN        NaN\n",
       "1    RB2205.SHF   20220426  5027.0        NaN        NaN        NaN\n",
       "2    RB2205.SHF   20220425  4989.0        NaN        NaN        NaN\n",
       "3    RB2205.SHF   20220422  5121.0        NaN        NaN        NaN\n",
       "4    RB2205.SHF   20220421  5154.0        NaN        NaN        NaN\n",
       "..          ...        ...     ...        ...        ...        ...\n",
       "226  RB2205.SHF   20210524  4765.0 -88.380985 -82.650794  -5.730191\n",
       "227  RB2205.SHF   20210521  4892.0 -71.295904 -80.379816   9.083912\n",
       "228  RB2205.SHF   20210520  4950.0 -52.470887 -74.798030  22.327143\n",
       "229  RB2205.SHF   20210519  5085.0 -26.354753 -65.109375  38.754622\n",
       "230  RB2205.SHF   20210518  5333.0  14.190420 -49.249416  63.439836\n",
       "\n",
       "[231 rows x 6 columns]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_macd = df_rb2205\n",
    "df_macd['dif'],df_macd['dea'], df_macd['hist'] = ta.MACD(df_rb2205.close, 12, 26, 9)\n",
    "df_macd['trade_date']= df_rb['trade_date'].apply(parse)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "6dd82421",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ts_code</th>\n",
       "      <th>trade_date</th>\n",
       "      <th>close</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>RB2205.SHF</td>\n",
       "      <td>20220427</td>\n",
       "      <td>5061.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>RB2205.SHF</td>\n",
       "      <td>20220426</td>\n",
       "      <td>5027.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>RB2205.SHF</td>\n",
       "      <td>20220425</td>\n",
       "      <td>4989.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>RB2205.SHF</td>\n",
       "      <td>20220422</td>\n",
       "      <td>5121.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>RB2205.SHF</td>\n",
       "      <td>20220421</td>\n",
       "      <td>5154.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      ts_code trade_date   close\n",
       "0  RB2205.SHF   20220427  5061.0\n",
       "1  RB2205.SHF   20220426  5027.0\n",
       "2  RB2205.SHF   20220425  4989.0\n",
       "3  RB2205.SHF   20220422  5121.0\n",
       "4  RB2205.SHF   20220421  5154.0"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_rb2205.head()\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "trader",
   "language": "python",
   "name": "trader"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
